package com.deyuanyun.pic.settings.service.prvlg;

import com.deyuanyun.pic.settings.controller.dto.prvlg.*;
import com.deyuanyun.pic.settings.domain.prvlg.*;
import com.github.pagehelper.Page;

/**
 * 权限模块 “用户”服务接口
 *
 * 方法详情：<br/>
 *
 * @author huanglw
 * @date  2016-11-28
 *
 * History: [修改人][时间][修改描述]
 */
public interface UserMgrService {

	/**
	 * 条件查询
	 *
	 * @param userQuery
	 * @return
	 */
	Page<User> query(UserQuery userQuery);

	/**
	 * 根据id查询 用户 详情
	 *
	 * @param id
	 * @return
	 */
	User find(String id);

	/**
	 * 创建或者修改
	 *
	 * @param user
	 */
	int edit(User user);

	/**
	 * 根据id 删除
	 *
	 * @param id
	 * @return
	 */
	int delete(String id);

	/**
	 * 授权：用户分配用户组
	 *
	 * @param roleGrant
	 * @return
	 */
	int grant(RoleGrant roleGrant);

	/**
	 * 修改用户状态
	 *
	 * @param userId
	 * @param state
	 * @return
	 */
	int updateState(String userId, String state);

	/**
	 * 重置密码
	 *
	 * @param id
	 * @return
	 */
	int resetPwd(String[] id);
}
